package com.ly.aps.system.provider.controller;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ly.aps.system.provider.model.ItemConfig;
import com.ly.aps.system.provider.service.ItemConfigService;
import com.stone.commons.core.model.ApiResult;
import com.stone.commons.core.model.AuthUser;
import com.stone.commons.web.util.BaseUserUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;

@Slf4j
@RestController
@CrossOrigin
@RequestMapping("/itemConfig")
public class ItemConfigController {
    @Autowired
    ItemConfigService itemConfigService;

    @GetMapping("/getItemConfigList")
    public ApiResult<String> getItemConfigList(){
        List<ItemConfig> list = itemConfigService.getItemConfigList();
        return ApiResult.success(list);
    }

    @PostMapping("/getItemConfigPage")
    public ApiResult<String> getItemConfigPage(@RequestParam("pageNo")int pageNo ,int pageSize){
        Page<ItemConfig> result = itemConfigService.getItemConfigList(pageNo, pageSize);//
        return ApiResult.success(result);
    }

    @PostMapping("/addItemConfig")
    public ApiResult<Integer> addItemConfig(@RequestBody ItemConfig itemConfig){
//        AuthUser authUser = BaseUserUtils.getAuthUser();
//        String name = authUser.getName();
//        itemConfig.setCreator(name);
        int result = itemConfigService.addItemConfig(itemConfig);
        if (result > 0){
            return ApiResult.success(result);
        }else {
            return ApiResult.fail();
        }
    }

    @PostMapping("/updateItemConfig")
    public ApiResult<Integer> updateItemConfig(@RequestBody ItemConfig itemConfig){
        int result = itemConfigService.updateItemConfig(itemConfig);
        if (result > 0){
            return ApiResult.success(result);
        }else {
            return ApiResult.fail();
        }
    }
}
